﻿using PMP.Core.Entities;
using PMP.Core.Enums;

namespace PMP.Application.Models;

public class AccountModifyParam
{
    public int Id { get; set; }
    /// <summary>
    /// 用户名
    /// </summary>
    public string UserName { get; set; }
    /// <summary>
    /// 密码
    /// </summary>
    public string Password { get; set; }
    /// <summary>
    /// 姓名
    /// </summary>
    public string RealName { get; set; }

    /// <summary>
    /// 性别
    /// </summary>
    public string Sex { get; set; } = "";
    /// <summary>
    /// 手机号
    /// </summary>
    public string PhoneNumber { get; set; }= "";
    /// <summary>
    /// 邮箱
    /// </summary>
    public string Email { get; set; }= "";
    /// <summary>
    /// 籍贯
    /// </summary>
    public string NativePlace { get; set; }= "";
    /// <summary>
    /// 出生年月
    /// </summary>
    public DateTime? DateOfBirth { get; set; }
    /// <summary>
    /// 用户类型
    /// </summary>
    public EnumUserLevel UserLevel { get; set; } = EnumUserLevel.Level0;
    
    /// <summary>
    /// 推荐人ID
    /// </summary>
    public int ReferrerUserId { get; set; }
    /// <summary>
    /// 标签
    /// </summary>
    public List<string> Tags { get; set; } = new();
    /// <summary>
    /// 用户介绍
    /// </summary>
    public string Introduction { get; set; } = "";
    
    /// <summary>
    /// 邀请码
    /// </summary>
    public string InvitationCode { get; set; } = "";
}


public class SubordinateUserResponse : TbAccount
{
    public double Score { get; set; }
    public string ReferrerUserName { get; set; } = "";
    // public string SuperiorUserName { get; set; } = "";
}